home *** CD-ROM | disk | FTP | other *** search
/ IRIX Installation Tools & Overlays 2002 November / SGI IRIX Installation Tools & Overlays 2002 November - Disc 4.iso / dist / motif21_dev.idb / usr / Motif-2.1 / include / Xm / Transfer.h.z / Transfer.h
C/C++ Source or Header  |  2002-10-15  |  3KB  |  124 lines

  1. /* $TOG: Transfer.h /main/8 1998/02/03 14:55:22 csn $ */
  2. /*
  3.  *  @OSF_COPYRIGHT@
  4.  *  COPYRIGHT NOTICE
  5.  *  Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.
  6.  *  ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
  7.  *  the full copyright text.
  8.  */
  9. /*
  10.  * HISTORY
  11.  */
  12.  
  13. #ifndef _XmTransfer_H
  14. #define _XmTransfer_H
  15.  
  16. #include <Xm/DragC.h>
  17.  
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21.  
  22. /* Proc typedefs */
  23.  
  24. #define XmConvertCallbackProc         XtCallbackProc
  25. #define XmSelectionDoneProc           XtSelectionDoneProc
  26. #define XmCancelSelectionProc         XtCancelConvertSelectionProc
  27. #define XmDestinationCallbackProc    XtCallbackProc
  28. #define XmSelectionCallbackProc        XtSelectionCallbackProc
  29.  
  30. /* Flags */
  31.  
  32. typedef enum { XmTRANSFER_DONE_SUCCEED = 0, XmTRANSFER_DONE_FAIL, 
  33.            XmTRANSFER_DONE_CONTINUE, XmTRANSFER_DONE_DEFAULT 
  34.          } XmTransferStatus;
  35.  
  36. /* 2.1.20 change - removed 
  37. enum { XmMOVE = XmDROP_MOVE, XmCOPY = XmDROP_COPY, 
  38.        XmLINK = XmDROP_LINK, XmOTHER };
  39. */
  40.  
  41. enum { XmSELECTION_DEFAULT = 0, XmSELECTION_INCREMENTAL,
  42.        XmSELECTION_PERSIST, XmSELECTION_SNAPSHOT,
  43.        XmSELECTION_TRANSACT };
  44.  
  45. enum { XmCONVERTING_NONE = 0, 
  46.        XmCONVERTING_SAME = 1, 
  47.        XmCONVERTING_TRANSACT = 2,
  48.        XmCONVERTING_PARTIAL = 4 };
  49.  
  50. enum { XmCONVERT_DEFAULT = 0, XmCONVERT_MORE, 
  51.        XmCONVERT_MERGE, XmCONVERT_REFUSE, XmCONVERT_DONE };
  52.  
  53. /* Callback structures */
  54.  
  55. typedef struct {
  56.     int        reason;
  57.     XEvent        *event;
  58.     Atom        selection;
  59.     Atom        target;
  60.     XtPointer    source_data;
  61.     XtPointer    location_data;
  62.     int        flags;
  63.     XtPointer    parm;
  64.     int        parm_format;
  65.     unsigned long    parm_length;
  66.     Atom        parm_type;
  67.     int        status;
  68.     XtPointer    value;
  69.     Atom        type;
  70.     int        format;
  71.     unsigned long    length;
  72. } XmConvertCallbackStruct;
  73.  
  74. typedef struct {
  75.     int        reason;
  76.       XEvent        *event;
  77.     Atom        selection;
  78.     XtEnum        operation;    
  79.     int        flags;
  80.     XtPointer    transfer_id;
  81.     XtPointer    destination_data;
  82.     XtPointer    location_data;
  83.     Time        time;
  84. } XmDestinationCallbackStruct;
  85.  
  86. typedef struct {
  87.     int        reason;
  88.       XEvent        *event;
  89.     Atom        selection;
  90.     Atom        target;
  91.     Atom        type;
  92.     XtPointer    transfer_id;
  93.     int        flags;
  94.     int        remaining;
  95.     XtPointer    value;
  96.     unsigned long    length;
  97.     int        format;
  98. } XmSelectionCallbackStruct;
  99.  
  100. typedef struct {
  101.     int        reason;
  102.       XEvent        *event;
  103.     Atom        selection;
  104.     XtPointer    transfer_id;
  105.     XmTransferStatus    status;
  106.     XtPointer    client_data;
  107. } XmTransferDoneCallbackStruct;
  108.  
  109. typedef void (*XmSelectionFinishedProc)(Widget, XtEnum,
  110.                     XmTransferDoneCallbackStruct*);
  111.  
  112. void XmTransferDone(XtPointer, XmTransferStatus);
  113. void XmTransferValue(XtPointer, Atom, XtCallbackProc,
  114.              XtPointer,    Time);
  115. void XmTransferSetParameters(XtPointer, XtPointer, int,    unsigned long, Atom);
  116. void XmTransferStartRequest(XtPointer);
  117. void XmTransferSendRequest(XtPointer, Time);
  118.  
  119. #ifdef __cplusplus
  120. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  121. #endif
  122.  
  123. #endif /* _XmTransfer_H */
  124.